Pointer-Chase Prefetcher for Linked Data Structures
نویسندگان
چکیده
Caches only exploit spatial and temporal locality in a set of address referenced in a program. Due to dynamic construction of linked data-structures, they are difficult to cache as the spatial locality between the nodes is highly dependent on the data layout. Prefetching can play an important role in improving the performance of linked data-structures. In this project, a pointer chase mechanism along with compiler hints is adopted to design a prefetcher for linked data-structures. The design is evaluated against the baseline of processor with cache in terms of performance, area and energy.
منابع مشابه
Enhancement for Accurate Stream Prefetching
One fundamental approach to improve memory hierarchy performance is to prefetch the needed instructions and data before their usage when cache capacity is limited. A stream prefetcher captures a sequence of nearby misses when their addresses follow the same positive or negative direction in a small memory region [17]. Once a stream of cache misses is identified, the prefetcher prefetches consec...
متن کاملIdentifying Parallelism in Construction Operations of Cyclic Pointer-Linked Data Structures
Pointer analysis has been an active research field in recent years. Combining pointer analysis and dependence analysis can identify parallelism in programs with pointers or dynamic pointer-linked data structures. After parallelism is identified, programs can be parallelized and then executed on parallel multiprocessor systems to achieve good performance. The compiler analysis techniques that ha...
متن کاملCompile-Time Analysis on Programs with Dynamic Pointer-Linked Data Structures
This paper studies static analysis on programs that create and traverse dynamic pointer-linked data structures. It introduces a new type of auxiliary structures, called link graphs, to depict the alias information of pointers and connection relationships of dynamic pointer-linked data structures. The link graphs can be used by compilers to detect side effects, to identify the patterns of traver...
متن کاملAutomatic Restructuring of Linked Data Structures
The memory subsystem is one of the major performance bottlenecks in modern computer systems. While much effort is spent on the optimization of codes which access data regularly, not all codes will do so. Programs using pointer linked data structures are notorious for producing such so called irregular memory access patterns. In this paper, we present a compilation and run-time framework that en...
متن کاملFault Tolerant Data Structures - Foundations of Computer Science, 1996. Proceedings., 37th Annual Symposium on
We consider the tolerance of data structures to memory faults. We observe that many pointer-based data structures (e.g. linked lists, trees, etc.) are highly nonresilient to faults. A single fault in a linked list or tree may result in the loss of the entire set of data. In this paper we present a formal framework for studying the fault tolerance properties of pointer-based data structures, and...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1801.08088 شماره
صفحات -
تاریخ انتشار 2018